1 using System;
2 using
System.Collections.Generic;
3 using
System.ComponentModel;
4 using
System.Drawing;
5 using
System.Data;
6 using
System.Linq;
7 using
System.Text;
8 using
System.Threading.Tasks;
9 using
System.Windows.Forms;
10
11 namespace
SoftQuanLyNhaHang.Views
12 {
13     
public partial class uctKho_KiemTraKho_Form : UserControl
14     {
15         
public uctKho_KiemTraKho_Form()
16         {
17             InitializeComponent();
18         }
19
20         
//Khởi tạo gọi menu
21         
public static uctKho_KiemTraKho_Form uctK_ktk_Form = new uctKho_KiemTraKho_Form();
22
23
24         
int _IdKho_KiemKho = 0;
25         
string _TrangThai = "SuDung";
26         
float _TongSoMatHangTrongKho =0;
27         
float _TongSoMatHangKiemKho =0;
28         
string _DienGiai = string.Empty;
29
30         
int _getDonViTinhId = 0;
31
32         
int _IdKho_SpKiemKho = 0;
33         
//int _IdKho_KiemKho,
34         
string _IdKhoStr = string.Empty;
35         
string _MaSanPham = string.Empty;
36         
float _TongSoTonKho = 0;
37         
float _SoLuongSanPham_KiemKho = 0;
38         DateTime _NgayTaoThucHien = DateTime.Now;
39         
int _NhanVienId = 0;
40         
string _GhiChu = string.Empty;
41         
string _TenSanPham = string.Empty;
42         
//int _DonViTinhId = 0;
43         DateTime _NgayKiemKho = DateTime.Now;
44
45         
int _pageSize = 30;
46         
int _pageIndex = 1;
47         
int _tongSoBanGhi = 0;
48         
int _stt = 0;
49
50         
private void uctKho_KiemTraKho_Load(object sender, EventArgs e)
51         {
52             
/*
53             //so luong trong kho
54             
55              */

56             
this.ActiveControl = txtMaSanPham;
57         }
58
59         
private void ClearForm()
60         {
61             txtMaSanPham.Text =
"";
62             txtSoLuong.Text =
"";
63             txtDienGiai.Text =
"";
64             txtTenSanPham.Text =
"";
65             txtDvTinh.Text =
"";
66             _getDonViTinhId =
0;
67
68             txtSLCongThem.Text =
"";
69         }
70
71         
private void LuuKiemTraKho()
72         {
73             
try
74             {
75                 _MaSanPham = txtMaSanPham.Text.Trim();
76             }
77             
catch { }
78
79             
try
80             {
81                 
if (string.IsNullOrEmpty(txtSoLuong.Text.Trim()))
82                 {
83                     MessageBox.Show(
"Số lượng không được để trống!");
84                     txtSoLuong.Focus();
85                     
return;
86                 }
87
88                 _SoLuongSanPham_KiemKho = (
float)CauHinhHeThong.Format_SoDeTinhToan(txtSoLuong.Text.Trim(),true);
89             }
90             
catch { }
91
92             
try
93             {
94                 _GhiChu = txtDienGiai.Text.Trim();
95             }
96             
catch { }
97
98             
try
99             {
100
101                 
if (string.IsNullOrEmpty(txtTenSanPham.Text.Trim()))
102                 {
103                     MessageBox.Show(
"Tên sản phẩm không được để trống");
104                     txtTenSanPham.Focus();
105                     
return;
106                 }
107
108                 _TenSanPham = txtTenSanPham.Text.Trim();
109             }
110             
catch { }
111
112             _NgayTaoThucHien = DateTime.Now;
113
114             
int i = 0;
115
116             
if (_IdKho_KiemKho == 0)
117             {
118                 _IdKho_KiemKho = Controllers.Kho_KiemKhoCtrl.InsertKho_KiemKho(
0, _TrangThai, _TongSoMatHangTrongKho, _TongSoMatHangKiemKho, _DienGiai, _NgayKiemKho);
119             }
120
121             
/*
122             //kiem tra da co _IdKho_KiemKho?
123             
if(_IdKho_KiemKho == 0){
124                 //lay tong so mat hang trong kho
125                 DataTable dtTongSp =
new DataTable();
126                 dtTongSp = Controllers.KhoCtrl.FillDataSet_getKho_COUNT_ByMaVietTat(
"",-1,"").Tables[0];
127
128                 
if (dtTongSp.Rows.Count > 0)
129                 {
130                     _TongSoMatHangTrongKho =
float.Parse( dtTongSp.Rows[0]["TongSoMatHangTrongKho"].ToString());
131                 }
132
133                 _IdKho_KiemKho = Controllers.Kho_KiemKhoCtrl.InsertKho_KiemKho(
0, _TrangThai, _TongSoMatHangTrongKho, _TongSoMatHangKiemKho, _DienGiai, _NgayKiemKho);
134             }
135             
else
136             {
137                 //update kiemkho
138             }
139             */

140
141             DataTable dtk =
new DataTable();
142             dtk = Controllers.KhoCtrl.FillDataSet_getKho_Gets_ByMaVietTatTongTonKho(_MaSanPham, -
1, _MaSanPham).Tables[0];
143
144             
if (dtk.Rows.Count > 0)
145             {
146                 _TongSoTonKho =
float.Parse(dtk.Rows[0]["TongSoTonKho"].ToString());
147                 
148                 _TongSoMatHangTrongKho =
float.Parse(dtk.Rows[0]["TongSoMatHangTrongKho"].ToString());
149
150                 
//txtTongSoMatHangTrongKho.Text = CauHinhHeThong.Format_SoDeHienThi(_TongSoMatHangTrongKho, false);
151             }
152             
else
153             {
154                 _TongSoTonKho =
0;
155             }
156
157
158             
if(_IdKho_SpKiemKho > 0){
159
160                 _SoLuongSanPham_KiemKho = (
float)CauHinhHeThong.Format_SoDeTinhToan(txtSoLuong.Text.Trim(), true) + (float)(CauHinhHeThong.Format_SoDeTinhToan(txtSLCongThem.Text.Trim(), true));
161
162                 Controllers.Kho_SpKiemKhoCtrl.UpdateKho_SpKiemKho(_IdKho_SpKiemKho, _IdKho_KiemKho, _IdKhoStr, _MaSanPham, _TongSoTonKho, _SoLuongSanPham_KiemKho, _TrangThai, _NgayTaoThucHien, _NhanVienId, _GhiChu, _TenSanPham, _getDonViTinhId);
163
164                 lblThongBao.Text =
"Update thành công!";
165                 lblThongBao.Visible =
true;
166             }
167             
else
168             {
169                 i = Controllers.Kho_SpKiemKhoCtrl.InsertKho_SpKiemKho(_IdKho_SpKiemKho, _IdKho_KiemKho, _IdKhoStr, _MaSanPham, _TongSoTonKho, _SoLuongSanPham_KiemKho, _TrangThai, _NgayTaoThucHien, _NhanVienId, _GhiChu, _TenSanPham, _getDonViTinhId);
170
171                 lblThongBao.Text =
"Lưu thành công!";
172                 lblThongBao.Visible =
true;
173             }
174
175             ClearForm();
176
177             txtMaSanPham.Focus();
178
179             _pageSize =
30;
180             _pageIndex =
1;
181             _stt =
0;
182
183             
this.HienThiDanhSachSpTrongKho(_IdKho_KiemKho);
184
185         }
186
187         
private void btnCoCapNhatHangTonKho_Click(object sender, EventArgs e)
188         {
189
190         }
191
192         
private void btnKhongCapNhatHangTonKho_Click(object sender, EventArgs e)
193         {
194
195         }
196
197         
private void btnLuuVaKiemSau_Click(object sender, EventArgs e)
198         {
199             
this.LuuKiemTraKho();
200         }
201
202         
private void linkLabel_sanPhamChuaKiemKho_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
203         {
204
205         }
206
207         
private void txtSoLuong_TextChanged(object sender, EventArgs e)
208         {
209             
try
210             {
211                 
string value = txtSoLuong.Text.Replace(CauHinhHeThong.PHAN_CACH_HANG_NGHIN, "");
212                 
ulong ul = 0;
213
214                 
if (ulong.TryParse(value, out ul))
215                 {
216                     txtSoLuong.TextChanged -= txtSoLuong_TextChanged;
217
218                     
if (txtSoLuong.Text.StartsWith("0"))
219                     {
220                         txtSoLuong.Text = ul.ToString();
221                     }
222                     
else
223                     {
224                         txtSoLuong.Text = CauHinhHeThong.DoFormat_NhapSoTrongText(
value);
225                     }
226
227
228                     txtSoLuong.SelectionStart = txtSoLuong.Text.Length;
229                     txtSoLuong.TextChanged += txtSoLuong_TextChanged;
230                 }
231                 
else
232                 {
233                     
if (txtSoLuong.Text.StartsWith(CauHinhHeThong.DAU_PHAY))
234                     {
235                         txtSoLuong.TextChanged -= txtSoLuong_TextChanged;
236                         txtSoLuong.Text =
"0" + txtSoLuong.Text;
237                         txtSoLuong.SelectionStart = txtSoLuong.Text.Length;
238                         txtSoLuong.TextChanged += txtSoLuong_TextChanged;
239                     }
240                 }
241
242             }
243             
catch
244             {
245             }
246         }
247
248         
private void txtSoLuong_KeyPress(object sender, KeyPressEventArgs e)
249         {
250             CauHinhHeThong.NhapSoTrongTextBox(sender, e);
251         }
252
253         
private void txtMaSanPham_KeyDown(object sender, KeyEventArgs e)
254         {
255             
if (e.KeyCode == Keys.Enter)
256             {
257
258                 e.SuppressKeyPress =
true;
259
260                 lblThongBao.Text =
"";
261                 lblThongBao.Visible =
false;
262
263                 
try
264                 {
265                     _MaSanPham = txtMaSanPham.Text.Trim();
266
267                 }
268                 
catch { }
269
270                 
if (_IdKho_KiemKho > 0)
271                 {
272                     
//insert sp kiem kho
273                     
//kiểm tra sản phẩm trong bảng spkiemkho
274                     DataTable dtKtTonTai =
new DataTable();
275
276                     dtKtTonTai = Controllers.Kho_SpKiemKhoCtrl.FillDataSet_getKho_SpKiemKho_KiemTraDaTonTai(_IdKho_SpKiemKho, _IdKho_KiemKho, _MaSanPham, _TrangThai).Tables[
0];
277                     
if (dtKtTonTai.Rows.Count > 0)
278                     {
279                         
float soKiemKhoTruoc =(float)CauHinhHeThong.Format_SoDeTinhToan(dtKtTonTai.Rows[0]["SoLuongKiemKho"].ToString(), false);
280
281                         txtSLCongThem.Text =
"+" + CauHinhHeThong.Format_SoDeHienThi(soKiemKhoTruoc, true);
282
283                         txtTenSanPham.Text = dtKtTonTai.Rows[
0]["TenSanPham"].ToString();
284                         txtDvTinh.Text = dtKtTonTai.Rows[
0]["TenDonViTinh"].ToString();
285                         _getDonViTinhId =
int.Parse(dtKtTonTai.Rows[0]["DonViTinhId"].ToString());
286
287                         _IdKho_SpKiemKho = Int32.Parse(dtKtTonTai.Rows[
0]["IdKho_SpKiemKho"].ToString());
288
289                         txtSoLuong.Text =
"1";
290
291                         txtSoLuong.Focus();
292                         
//Controllers.Kho_SpKiemKhoCtrl.UpdateKho_SpKiemKho(_IdKho_SpKiemKho, _IdKho_KiemKho, _IdKhoStr, _MaSanPham, _SoLuongTrongKho, _SoLuongKiemKho, _TrangThai, _NgayTaoThucHien, _NhanVienId, _GhiChu, _TenSanPham, _DonViTinhId);
293
294                         
//lblThongBao.Text = "Update thành công!";
295                     }
296                     
else
297                     {
298                         _IdKho_SpKiemKho =
0;
299
300                         
//lấy thông tin sản phẩm trong kho có mã viết tăt là masanpham
301                         DataTable dtKho =
new DataTable();
302                         dtKho = Controllers.KhoCtrl.FillDataSet_getKho_ByMaVietTat(
"", -1, _MaSanPham).Tables[0];
303
304                         
if (dtKho.Rows.Count > 0)
305                         {
306                             txtTenSanPham.Text = dtKho.Rows[
0]["TenSanPham"].ToString();
307                             txtDvTinh.Text = dtKho.Rows[
0]["TenDonViTinh"].ToString();
308                             _getDonViTinhId =
int.Parse(dtKho.Rows[0]["DonViTinhId"].ToString());
309
310                             txtSoLuong.Text =
"1";
311                             txtSoLuong.Focus();
312                         }
313                         
else
314                         {
315                             MessageBox.Show(
"Sảm phẩm không tồn tại trên hệ thống!");
316                         }
317                     }
318                 }
319                 
else
320                 {
321
322                     
//lấy thông tin sản phẩm trong kho có mã viết tăt là masanpham
323                     DataTable dtKho =
new DataTable();
324                     dtKho = Controllers.KhoCtrl.FillDataSet_getKho_ByMaVietTat(
"", -1, _MaSanPham).Tables[0];
325
326                     
if (dtKho.Rows.Count > 0)
327                     {
328                         txtTenSanPham.Text = dtKho.Rows[
0]["TenSanPham"].ToString();
329                         txtDvTinh.Text = dtKho.Rows[
0]["TenDonViTinh"].ToString();
330                         _getDonViTinhId =
int.Parse(dtKho.Rows[0]["DonViTinhId"].ToString());
331
332                         txtSoLuong.Text =
"1";
333                         txtSoLuong.Focus();
334                     }
335                     
else
336                     {
337                         MessageBox.Show(
"Sảm phẩm không tồn tại trên hệ thống!");
338                     }
339                 }
340             }
341         }
342
343         
public void HienThiDanhSachSpTrongKho(int idKiemKho)
344         {
345             
this.ActiveControl = txtMaSanPham;
346
347             _IdKho_KiemKho = idKiemKho;
348             
349             
//hiển thị thông tin tồn kho
350             
//TongSoMatHangTrongKho
351
352             dgvDsSpTrongKho.Rows.Clear();
353             
//Ẩn cột đầu tiên
354             dgvDsSpTrongKho.RowHeadersVisible =
false;
355             
//-https://stackoverflow.com/questions/17404969/right-align-a-column-in-datagridview-doesnt-work
356             
this.dgvDsSpTrongKho.Columns["STTKk"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
357             
this.dgvDsSpTrongKho.Columns["STTKk"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
358             
//this.dgvDsSpTrongKho.Columns["STT"].SortMode = DataGridViewColumnSortMode.NotSortable;
359
360
361             
this.dgvDsSpTrongKho.Columns["TenDonViTinhKk"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
362             
this.dgvDsSpTrongKho.Columns["TenDonViTinhKk"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
363
364             
this.dgvDsSpTrongKho.Columns["SoLuongKiemKhoKk"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
365             
this.dgvDsSpTrongKho.Columns["SoLuongKiemKhoKk"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
366             
//
367             
//
368             
this.dgvDsSpTrongKho.Columns["SoLuongTrongKhoKk"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
369             
this.dgvDsSpTrongKho.Columns["SoLuongTrongKhoKk"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
370             
//
371
372             
this.dgvDsSpTrongKho.Columns["SoLuongChenhLech"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
373             
this.dgvDsSpTrongKho.Columns["SoLuongChenhLech"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
374
375
376             DataTable dtDsSpKho =
new DataTable();
377             dtDsSpKho = Controllers.Kho_SpKiemKhoCtrl.FillDataSet_getKho_SpKiemKho_ByIdKhiemKho(_IdKho_SpKiemKho, _IdKho_KiemKho, _pageSize, _pageIndex).Tables[
0];
378
379             
if (dtDsSpKho.Rows.Count > 0)
380             {
381                 _tongSoBanGhi = Int32.Parse(dtDsSpKho.Rows[
0]["TongSoBanGhi"].ToString());
382                 
//txtTongSoLuongKiem.Text = CauHinhHeThong.Format_SoDeHienThi(_tongSoBanGhi, false);
383
384                 
float SoLuongTrongKhoKk = 0;
385                 
float SoLuongKiemKhoKk = 0;
386                 
float SoLuongChenhLechKk = 0;
387
388                 
foreach (DataRow item in dtDsSpKho.Rows)
389                 {
390                     _stt +=
1;
391                     
int n = dgvDsSpTrongKho.Rows.Add();
392
393                     dgvDsSpTrongKho.Rows[n].Cells[
"IdKho_SpKiemKho"].Value = item["IdKho_SpKiemKho"].ToString();
394                     dgvDsSpTrongKho.Rows[n].Cells[
"STTKk"].Value = _stt.ToString();
395
396                     dgvDsSpTrongKho.Rows[n].Cells[
"MaSanPhamKk"].Value = item["MaSanPham"].ToString();
397                     dgvDsSpTrongKho.Rows[n].Cells[
"TenSanPhamKk"].Value = item["TenSanPham"].ToString();
398                     dgvDsSpTrongKho.Rows[n].Cells[
"TenDonViTinhKk"].Value = item["TenDonViTinh"].ToString();
399
400                     SoLuongTrongKhoKk = (
float)CauHinhHeThong.Format_SoDeTinhToan(item["SoLuongTrongKho"].ToString(), false);
401
402                     SoLuongKiemKhoKk = (
float)CauHinhHeThong.Format_SoDeTinhToan(item["SoLuongKiemKho"].ToString(), false);
403
404                     SoLuongChenhLechKk = SoLuongKiemKhoKk - SoLuongTrongKhoKk;
405
406                     dgvDsSpTrongKho.Rows[n].Cells[
"SoLuongTrongKhoKk"].Value = CauHinhHeThong.Format_SoDeHienThi(SoLuongTrongKhoKk, false);
407                     dgvDsSpTrongKho.Rows[n].Cells[
"SoLuongKiemKhoKk"].Value = CauHinhHeThong.Format_SoDeHienThi(SoLuongKiemKhoKk, false);
408                     dgvDsSpTrongKho.Rows[n].Cells[
"SoLuongChenhLech"].Value = CauHinhHeThong.Format_SoDeHienThi(SoLuongChenhLechKk, false);
409
410
411                     dgvDsSpTrongKho.Rows[n].Cells[
"DienGiai"].Value = item["GhiChu"].ToString();
412
413                 }
414
415             }
416             
else
417             {
418                 _tongSoBanGhi =
0;
419             }
420
421             lblTongSoBanGhiHienThi.Text = CauHinhHeThong.HienThiSoBanGhiTuA_DenB(_pageSize, _pageIndex, _stt.ToString(), _tongSoBanGhi.ToString());
422         }
423
424     }
425 }


Gõ tìm kiếm nhanh...